<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MDF Lib: include/mdf/ichannel.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="utillib.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">MDF Lib<span id="projectnumber">&#160;2.2</span>
   </div>
   <div id="projectbrief">Interface against MDF 3/4 files</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_dea88a92c3ac1d8c329848683c200b71.html">mdf</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="headertitle"><div class="title">ichannel.h</div></div>
</div><!--header-->
<div class="contents">
<a href="ichannel_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"> * Copyright 2021 Ingemar Hedvall</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment"> * SPDX-License-Identifier: MIT</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"> */</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;cstring&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#include &lt;iomanip&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#include &lt;sstream&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#include &quot;<a class="code" href="iblock_8h.html">mdf/iblock.h</a>&quot;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#include &quot;<a class="code" href="ichannelconversion_8h.html">mdf/ichannelconversion.h</a>&quot;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#include &quot;<a class="code" href="imetadata_8h.html">mdf/imetadata.h</a>&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#include &quot;<a class="code" href="isourceinformation_8h.html">mdf/isourceinformation.h</a>&quot;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#include &quot;<a class="code" href="ichannelarray_8h.html">mdf/ichannelarray.h</a>&quot;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &quot;<a class="code" href="mdfhelper_8h.html">mdf/mdfhelper.h</a>&quot;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &quot;<a class="code" href="iattachment_8h.html">mdf/iattachment.h</a>&quot;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacemdf.html">mdf</a> {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
<div class="foldopen" id="foldopen00051" data-start="{" data-end="};">
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937d">   51</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937d">ChannelType</a> : uint8_t {</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>  <a class="code hl_enumvalue" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937da4b1ddaa2b496677284d5262fc1ea3798">FixedLength</a> = 0,    </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>  <a class="code hl_enumvalue" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937dacf5e4bc4a94b24088e16c9c3afd40a2a">VariableLength</a> = 1, </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>  <a class="code hl_enumvalue" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937daf03bde11d261f185cbacfa32c1c6538c">Master</a> = 2,         </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span>  <a class="code hl_enumvalue" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937da309ed161ec249f7ffdbac36b65e55b75">VirtualMaster</a> = 3,  </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>  <a class="code hl_enumvalue" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937dad8e87c0927539672f54462c837be0b7f">Sync</a> = 4,           </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>  <a class="code hl_enumvalue" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937dab39e25cc980a4343b6d3c5dc3de432fa">MaxLength</a> = 5,      </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>  <a class="code hl_enumvalue" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937dabec26578f09660b1b47ec535f0c47c75">VirtualData</a> = 6     </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>};</div>
</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
<div class="foldopen" id="foldopen00066" data-start="{" data-end="};">
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880df">   66</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880df">ChannelSyncType</a> : uint8_t {</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>  <a class="code hl_enumvalue" href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880dfa6adf97f83acf6453d4a6a4b1070f3754">None</a> = 0,     </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>  <a class="code hl_enumvalue" href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880dfaa76d4ef5f3f6a672bbfab2865563e530">Time</a> = 1,     </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>  <a class="code hl_enumvalue" href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880dfa45f4ce6c3306644b1efe333f4f8d6929">Angle</a> = 2,    </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>  <a class="code hl_enumvalue" href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880dfa0aa6f4210bf373c95eda00232e93cd98">Distance</a> = 3, </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>  <a class="code hl_enumvalue" href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880dfa88fa71f0a6e0dfedbb46d91cc0b37a50">Index</a> = 4     </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>};</div>
</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span> </div>
<div class="foldopen" id="foldopen00082" data-start="{" data-end="};">
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722">   82</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722">ChannelDataType</a> : uint8_t {</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a3d8c5b0c84d3c13c685749338d96e812">UnsignedIntegerLe</a>= 0,  </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722ae6543ba35c9cd740a7c91e07be9e231c">UnsignedIntegerBe</a> = 1, </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722ab9f962c0e1fc6cd005dfa84b8b082758">SignedIntegerLe</a> = 2,   </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a38f0dc27477a45b9c3b92a8527ec627b">SignedIntegerBe</a> = 3,   </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a6835157213e98f65d7b8b87388f17cba">FloatLe</a> = 4,           </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722aa5e26fec45b1179c4338c4db60c840b3">FloatBe</a> = 5,           </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722aa2f1cba0bbfc632c18c8600557e5ef82">StringAscii</a> = 6,       </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a270eae1795a15432ab07a1b2f9bf7bb5">StringUTF8</a> = 7,        </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a21e5fa7038abacaa3a18253de43fe451">StringUTF16Le</a> = 8,     </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a668c2004661c1b7f1d6ecc1e4b4f105b">StringUTF16Be</a> = 9,     </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>  <a class="code hl_typedef" href="namespacemdf.html#a3b0b6ca099e0f57ab319de3223cc008c">ByteArray</a> = 10,        </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a70070b65143948de357e447c813e44ba">MimeSample</a> = 11,       </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722af51576cc6cfc1e6abb5be79f24cf39a0">MimeStream</a> = 12,       </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a2f9b4e22520900077df8d4a52ff9a6d4">CanOpenDate</a> = 13,      </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722acbda3fa2f982691bd851286c23406378">CanOpenTime</a> = 14,      </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722ac6ca32aae0ba32d5029fdbef0885e88e">ComplexLe</a> = 15,        </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>  <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a3f32de61be852939714b416ba16438ca">ComplexBe</a> = 16         </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>};</div>
</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
<div class="foldopen" id="foldopen00105" data-start="{" data-end="}">
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html">  105</a></span><span class="keyword">namespace </span>CnFlag {</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#acf64527d27cd2ac92ba68e3a20d2dabb">  106</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#acf64527d27cd2ac92ba68e3a20d2dabb">AllValuesInvalid</a> = 0x0001; </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#adfea72260e33c3932f755773b308ceb8">  107</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#adfea72260e33c3932f755773b308ceb8">InvalidValid</a> = 0x0002; </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#a421884542b660958e3c8a2e773768d29">  108</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#a421884542b660958e3c8a2e773768d29">PrecisionValid</a> = 0x0004; </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#ac40b03e1dd5cd6f5b72ca92ca4bbdc83">  109</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#ac40b03e1dd5cd6f5b72ca92ca4bbdc83">RangeValid</a> = 0x0008; </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#a2229d5f709947d48ade04c3fb3a30443">  110</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#a2229d5f709947d48ade04c3fb3a30443">LimitValid</a> = 0x0010; </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#ab9b91e121dc26872a9d2607c63272949">  111</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#ab9b91e121dc26872a9d2607c63272949">ExtendedLimitValid</a> = 0x0020; </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#a27498280cbf0da30278e17e8297e8e59">  112</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#a27498280cbf0da30278e17e8297e8e59">Discrete</a> = 0x0040; </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#a476a0611c7c5c3d141801980aff85221">  113</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#a476a0611c7c5c3d141801980aff85221">Calibration</a> = 0x0080; </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#a9c121c8a80f9e541ec0a5de48f31be22">  114</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#a9c121c8a80f9e541ec0a5de48f31be22">Calculated</a> = 0x0100; </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#a6f1384f74040b449cb428b24a03e341a">  115</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#a6f1384f74040b449cb428b24a03e341a">Virtual</a> = 0x0200; </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#a3e112ccb91a24f8348b4220efe90b5d1">  116</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#a3e112ccb91a24f8348b4220efe90b5d1">BusEvent</a> = 0x0400; </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#a5766a23a1f3c4bcf0eaeba492a7e7b2b">  117</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#a5766a23a1f3c4bcf0eaeba492a7e7b2b">StrictlyMonotonous</a> = 0x0800; </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#aa8081ae9b218a569334595a40fa51e3c">  118</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#aa8081ae9b218a569334595a40fa51e3c">DefaultX</a> = 0x1000; </div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#ae027244b0d6d32508e40c70d07627746">  119</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#ae027244b0d6d32508e40c70d07627746">EventSignal</a> = 0x2000; </div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="namespacemdf_1_1_cn_flag.html#aaa0966dc35ade7f95a6e4fcd279ee0ca">  120</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="namespacemdf_1_1_cn_flag.html#aaa0966dc35ade7f95a6e4fcd279ee0ca">VlsdDataStream</a> = 0x4000; </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>}  <span class="comment">// namespace CnFlag</span></div>
</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span> </div>
<div class="foldopen" id="foldopen00126" data-start="{" data-end="};">
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html">  126</a></span><span class="keyword">class </span><a class="code hl_class" href="classmdf_1_1_i_channel.html">IChannel</a> : <span class="keyword">public</span> <a class="code hl_class" href="classmdf_1_1_i_block.html">IBlock</a>  {</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span> </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ad0d31706ee80b34c1dc5007076c4134d">  129</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ad0d31706ee80b34c1dc5007076c4134d">Name</a>(<span class="keyword">const</span> std::string &amp;name) = 0; </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a6df3c83feac51d9d8ac40821e764ceae">  130</a></span>  [[nodiscard]] <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classmdf_1_1_i_channel.html#a6df3c83feac51d9d8ac40821e764ceae">Name</a>() <span class="keyword">const</span> = 0; </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#af32c29ab60072244fab0ebaa132e3bf3">  132</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#af32c29ab60072244fab0ebaa132e3bf3">DisplayName</a>(<span class="keyword">const</span> std::string &amp;name) = 0; </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#aa6f066ad1c8b25e6f24e38031ea6c50e">  133</a></span>  [[nodiscard]] <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classmdf_1_1_i_channel.html#aa6f066ad1c8b25e6f24e38031ea6c50e">DisplayName</a>() <span class="keyword">const</span> = 0; </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a8cd3b07e3da2b4e625f0a84545b963e7">  136</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a8cd3b07e3da2b4e625f0a84545b963e7">Description</a>(<span class="keyword">const</span> std::string &amp;description) = 0;</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a1657ee3a93c646a0ca1faea8d62488a8">  139</a></span>  [[nodiscard]] <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classmdf_1_1_i_channel.html#a1657ee3a93c646a0ca1faea8d62488a8">Description</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span> </div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a36a3b88bc8d1a5844d04289e89e826c4">  149</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a36a3b88bc8d1a5844d04289e89e826c4">Unit</a>(<span class="keyword">const</span> std::string &amp;unit) = 0;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span> </div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ac0d4d05b309f1fdf0428eb1d381887df">  163</a></span>  [[nodiscard]] <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classmdf_1_1_i_channel.html#ac0d4d05b309f1fdf0428eb1d381887df">Unit</a>() <span class="keyword">const</span> = 0; </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a62aae84ad11d364a7f6a513e46705551">  166</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a62aae84ad11d364a7f6a513e46705551">Flags</a>(uint32_t flags);</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span> </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#afdee04da646dd8f0449e629dbe3e0b04">  169</a></span>  [[nodiscard]] <span class="keyword">virtual</span> uint32_t <a class="code hl_function" href="classmdf_1_1_i_channel.html#afdee04da646dd8f0449e629dbe3e0b04">Flags</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span> </div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ac40cab295bfde6ec373bfecfaadadc45">  171</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ac40cab295bfde6ec373bfecfaadadc45">IsUnitValid</a>() <span class="keyword">const</span> = 0; </div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a5314d56e61ffc2b736ca9b69a6050229">  173</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a5314d56e61ffc2b736ca9b69a6050229">Type</a>(<a class="code hl_enumeration" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937d">ChannelType</a> type) = 0; </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a5f19e08b1f8f20f7036e3ea43775d7a1">  174</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_enumeration" href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937d">ChannelType</a> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a5f19e08b1f8f20f7036e3ea43775d7a1">Type</a>() <span class="keyword">const</span> = 0; </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span> </div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a575bb123eaad4903954941aab17d2b14">  176</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a575bb123eaad4903954941aab17d2b14">Sync</a>(<a class="code hl_enumeration" href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880df">ChannelSyncType</a> type); </div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ae7c4561396862770e5b829201a73daf4">  177</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_enumeration" href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880df">ChannelSyncType</a> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ae7c4561396862770e5b829201a73daf4">Sync</a>() <span class="keyword">const</span>; </div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#acc9c9f876d464cdd131025cf55e0868f">  179</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#acc9c9f876d464cdd131025cf55e0868f">DataType</a>(<a class="code hl_enumeration" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722">ChannelDataType</a> type) = 0; </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a931e9af5462ff48caa462d775d6ff830">  180</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_enumeration" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722">ChannelDataType</a> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a931e9af5462ff48caa462d775d6ff830">DataType</a>() <span class="keyword">const</span> = 0; </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a8025c0cf92b1f5e3ecf4486a38b63509">  182</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a8025c0cf92b1f5e3ecf4486a38b63509">DataBytes</a>(uint64_t nof_bytes) = 0; </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a59d764d8bf7f80a12bdf26057f414c2e">  183</a></span>  [[nodiscard]] <span class="keyword">virtual</span> uint64_t <a class="code hl_function" href="classmdf_1_1_i_channel.html#a59d764d8bf7f80a12bdf26057f414c2e">DataBytes</a>() <span class="keyword">const</span> = 0; </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span> </div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ae3f2799e0dcb124e1968302cf9123102">  186</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ae3f2799e0dcb124e1968302cf9123102">Decimals</a>(uint8_t precision);</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a8eeee4343e58cc7d9beb21c236ed95e8">  188</a></span>  [[nodiscard]] <span class="keyword">virtual</span> uint8_t <a class="code hl_function" href="classmdf_1_1_i_channel.html#a8eeee4343e58cc7d9beb21c236ed95e8">Decimals</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span> </div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span> </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a2ddb199531ebfccb20a7f599681a36a1">  193</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a2ddb199531ebfccb20a7f599681a36a1">IsDecimalUsed</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span> </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a05c144d60e2b9fccff15ff910ac8e619">  196</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a05c144d60e2b9fccff15ff910ac8e619">Range</a>(<span class="keywordtype">double</span> min, <span class="keywordtype">double</span> max);</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a8a2bd21f197b46d07015012a48dee3f8">  199</a></span>  [[nodiscard]] <span class="keyword">virtual</span> std::optional&lt;std::pair&lt;double, double&gt;&gt; <a class="code hl_function" href="classmdf_1_1_i_channel.html#a8a2bd21f197b46d07015012a48dee3f8">Range</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span> </div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ab75df87353aaceb8ca1d809a99df7c17">  202</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ab75df87353aaceb8ca1d809a99df7c17">Limit</a>(<span class="keywordtype">double</span> min, <span class="keywordtype">double</span> max);</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span> </div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a06e8995a869945f0cfd373350d2a3adc">  205</a></span>  [[nodiscard]] <span class="keyword">virtual</span> std::optional&lt;std::pair&lt;double, double&gt;&gt; <a class="code hl_function" href="classmdf_1_1_i_channel.html#a06e8995a869945f0cfd373350d2a3adc">Limit</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span> </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#af86276080181f8cc33cc182c4bf5bdb5">  208</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#af86276080181f8cc33cc182c4bf5bdb5">ExtLimit</a>(<span class="keywordtype">double</span> min, <span class="keywordtype">double</span> max);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span> </div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#af59baaa5abd9c2077fe0c9c2d1c0cd9d">  211</a></span>  [[nodiscard]] <span class="keyword">virtual</span> std::optional&lt;std::pair&lt;double, double&gt;&gt; <a class="code hl_function" href="classmdf_1_1_i_channel.html#af59baaa5abd9c2077fe0c9c2d1c0cd9d">ExtLimit</a>()</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span>      <span class="keyword">const</span>;</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span> </div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a541ee7e29a97be10c4bdf0fde3382e9f">  215</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a541ee7e29a97be10c4bdf0fde3382e9f">SamplingRate</a>(<span class="keywordtype">double</span> sampling_rate) = 0;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span> </div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a198df1edd0fbeeabd25c405841ab4328">  218</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a198df1edd0fbeeabd25c405841ab4328">SamplingRate</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span> </div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a232823d55efef433e246ee85d0c73dc4">  221</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_class" href="classmdf_1_1_i_source_information.html">ISourceInformation</a> *<a class="code hl_function" href="classmdf_1_1_i_channel.html#a232823d55efef433e246ee85d0c73dc4">SourceInformation</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a29cb869f6486173eacf7a45fec6dffd0">  224</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_class" href="classmdf_1_1_i_source_information.html">ISourceInformation</a>* <a class="code hl_function" href="classmdf_1_1_i_channel.html#a29cb869f6486173eacf7a45fec6dffd0">CreateSourceInformation</a>();</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span> </div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a115a9a7199ae62203607ee304435b905">  238</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_class" href="classmdf_1_1_i_channel_array.html">IChannelArray</a> *<a class="code hl_function" href="classmdf_1_1_i_channel.html#a115a9a7199ae62203607ee304435b905">ChannelArray</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span> </div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a8b86497bd0b22bfc1e892e98fbd8a3b2">  247</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_class" href="classmdf_1_1_i_channel_array.html">IChannelArray</a>* <a class="code hl_function" href="classmdf_1_1_i_channel.html#a8b86497bd0b22bfc1e892e98fbd8a3b2">CreateChannelArray</a>();</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span> </div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#acaf293bd067e1481130dc8adc465edd9">  250</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_class" href="classmdf_1_1_i_channel_conversion.html">IChannelConversion</a> *<a class="code hl_function" href="classmdf_1_1_i_channel.html#acaf293bd067e1481130dc8adc465edd9">ChannelConversion</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span> </div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a671a222070b00fc61e7b65795cbb477f">  253</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_class" href="classmdf_1_1_i_channel_conversion.html">IChannelConversion</a> *<a class="code hl_function" href="classmdf_1_1_i_channel.html#a671a222070b00fc61e7b65795cbb477f">CreateChannelConversion</a>() = 0;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span> </div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ad29f9258dbf58727f6e556ecfde2bbce">  261</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_class" href="classmdf_1_1_i_channel.html">IChannel</a> *<a class="code hl_function" href="classmdf_1_1_i_channel.html#ad29f9258dbf58727f6e556ecfde2bbce">CreateChannelComposition</a>() = 0;</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a864a22be7a831f2d9473292fb16827f7">  270</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_class" href="classmdf_1_1_i_channel.html">IChannel</a> *<a class="code hl_function" href="classmdf_1_1_i_channel.html#a864a22be7a831f2d9473292fb16827f7">CreateChannelComposition</a>(</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span>      <span class="keyword">const</span> std::string_view&amp; name);</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a76dd687896052c0425910967f077286b">  278</a></span>  [[nodiscard]] <span class="keyword">virtual</span> std::vector&lt;IChannel*&gt; <a class="code hl_function" href="classmdf_1_1_i_channel.html#a76dd687896052c0425910967f077286b">ChannelCompositions</a>() = 0;</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span> </div>
<div class="foldopen" id="foldopen00281" data-start="{" data-end="}">
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#aa8ac9c2409022d3d20ebba56f74678cc">  281</a></span>  [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#aa8ac9c2409022d3d20ebba56f74678cc">IsNumber</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno">  282</span>    <span class="comment">// Need to check the cc at well if it is a value to text conversion</span></div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span>    <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span> *cc = <a class="code hl_function" href="classmdf_1_1_i_channel.html#acaf293bd067e1481130dc8adc465edd9">ChannelConversion</a>();</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span>        cc != <span class="keyword">nullptr</span> &amp;&amp; cc-&gt;<a class="code hl_function" href="classmdf_1_1_i_channel_conversion.html#ae702e04c6a95ed3a2d97ffd7afbf322a">Type</a>() &lt;= <a class="code hl_enumvalue" href="namespacemdf.html#aa69a00bf9910fb428ebe4a3d63e6ed89acfac125f526b65725b6ba6f353f2ffda">ConversionType::ValueRangeToValue</a>) {</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span>      <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno">  286</span>    }</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a931e9af5462ff48caa462d775d6ff830">DataType</a>() &lt;= <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722aa5e26fec45b1179c4338c4db60c840b3">ChannelDataType::FloatBe</a>;</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span>  }</div>
</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span> </div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a75f6fab8b44865e4e02c757327a29295">  291</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_class" href="classmdf_1_1_i_meta_data.html">IMetaData</a>* <a class="code hl_function" href="classmdf_1_1_i_channel.html#a75f6fab8b44865e4e02c757327a29295">CreateMetaData</a>();</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span> </div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a68e3e0929ee473830adeb4ea2640cdaa">  294</a></span>  [[nodiscard]] <span class="keyword">virtual</span> <a class="code hl_class" href="classmdf_1_1_i_meta_data.html">IMetaData</a>* <a class="code hl_function" href="classmdf_1_1_i_channel.html#a68e3e0929ee473830adeb4ea2640cdaa">MetaData</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span> </div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ab65be17a489e6188f0974084ba306326">  309</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ab65be17a489e6188f0974084ba306326">AddAttachmentReference</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmdf_1_1_i_attachment.html">IAttachment</a>* attachment);</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno">  310</span> </div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a30b1815c3a1c78ff8318bbadabf97652">  312</a></span>  <span class="keyword">virtual</span> std::vector&lt;const IAttachment*&gt; <a class="code hl_function" href="classmdf_1_1_i_channel.html#a30b1815c3a1c78ff8318bbadabf97652">AttachmentList</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno">  313</span> </div>
<div class="foldopen" id="foldopen00322" data-start="{" data-end="}">
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#af0097710fe52be6fa446944cd9f126bf">  322</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#af0097710fe52be6fa446944cd9f126bf">VlsdRecordId</a>(uint64_t record_id)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span>    vlsd_record_id_ = record_id;</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span>  }</div>
</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span> </div>
<div class="foldopen" id="foldopen00334" data-start="{" data-end="}">
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a34f93d53a8257129fbf322861c4b002c">  334</a></span>  [[nodiscard]] uint64_t <a class="code hl_function" href="classmdf_1_1_i_channel.html#a34f93d53a8257129fbf322861c4b002c">VlsdRecordId</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span>    <span class="keywordflow">return</span> vlsd_record_id_;</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno">  336</span>  }</div>
</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</span> </div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno">  349</span>  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno">  350</span>  <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#af516e447a9e2bb6a7b1e7b46e7257525">GetChannelValue</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno">  351</span>                       T &amp;dest, uint64_t array_index = 0) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno">  352</span> </div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span>  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno">  369</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a0f02ecc9cf3760267c95b7eb4e1868d8">SetChannelValue</a>(<span class="keyword">const</span> T &amp;value, <span class="keywordtype">bool</span> valid = <span class="keyword">true</span>,</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno">  370</span>                       uint64_t array_index = 0);</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno">  371</span> </div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno">  381</span>  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ad694470ca2821905f1b957a72a90f0f9">SetChannelValues</a>(<span class="keyword">const</span> std::vector&lt;T&gt;&amp; values);</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno">  383</span> </div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a3e7a28ee965b4121891d76ebbeecee14">  391</a></span>  <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a3e7a28ee965b4121891d76ebbeecee14">GetUnsignedValue</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span>                                uint64_t &amp;dest, uint64_t array_index = 0) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a3136a15e15cd5023c26d6b6fa2b79790">  399</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a3136a15e15cd5023c26d6b6fa2b79790">GetTextValue</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span>                            std::string &amp;dest) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a33a5529d183edeb6b881c791f3a3c451">  410</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a33a5529d183edeb6b881c791f3a3c451">SetTimestamp</a>(<span class="keywordtype">double</span> timestamp, std::vector&lt;uint8_t&gt; &amp;record_buffer) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno">  411</span> </div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a92b39d985b2153dd0bd1773489f7837c">  420</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a92b39d985b2153dd0bd1773489f7837c">BitCount</a>(uint32_t bits) = 0;</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span> </div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a580d277c71bc001ee8e26edd55e96a56">  423</a></span>  [[nodiscard]] <span class="keyword">virtual</span> uint32_t <a class="code hl_function" href="classmdf_1_1_i_channel.html#a580d277c71bc001ee8e26edd55e96a56">BitCount</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno">  424</span> </div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#aa38e43155f97b7e9faab958be1b52832">  433</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#aa38e43155f97b7e9faab958be1b52832">BitOffset</a>(uint16_t bits) = 0;</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span> </div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#aab3f5cb61e6e8ec7b42e6bb1571a87b3">  436</a></span>  [[nodiscard]] <span class="keyword">virtual</span> uint16_t <a class="code hl_function" href="classmdf_1_1_i_channel.html#aab3f5cb61e6e8ec7b42e6bb1571a87b3">BitOffset</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno">  437</span> </div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a5f25048931c7687984347867a06129f6">  446</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a5f25048931c7687984347867a06129f6">ByteOffset</a>(uint32_t bytes) = 0;</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno">  447</span> </div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a3ebf5ebecaef52c6a745e095256f8fe4">  449</a></span>  [[nodiscard]] <span class="keyword">virtual</span> uint32_t <a class="code hl_function" href="classmdf_1_1_i_channel.html#a3ebf5ebecaef52c6a745e095256f8fe4">ByteOffset</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno">  450</span> </div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a0f3c1efa16f7e760c3079ad6f2f1c3cf">  459</a></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code hl_class" href="classmdf_1_1_i_channel_group.html">IChannelGroup</a>* <a class="code hl_function" href="classmdf_1_1_i_channel.html#a0f3c1efa16f7e760c3079ad6f2f1c3cf">ChannelGroup</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  460</span> </div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a258517eee06f2275d4edc29f6e92268f">  467</a></span>  uint64_t <a class="code hl_function" href="classmdf_1_1_i_channel.html#a258517eee06f2275d4edc29f6e92268f">RecordId</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno">  468</span> </div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno">  479</span>  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;</div>
<div class="foldopen" id="foldopen00480" data-start="{" data-end="}">
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ae1da89191e31edf36c8fe4d5ed894b13">  480</a></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ae1da89191e31edf36c8fe4d5ed894b13">GetVirtualSample</a>(uint64_t sample, V&amp; value) {</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno">  481</span>    <span class="comment">// No need for array index here. Array is weird usage for virtual channels</span></div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno">  482</span>    <span class="comment">// as the channel value = sample.</span></div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno">  483</span>    value = <span class="keyword">static_cast&lt;</span>V<span class="keyword">&gt;</span>(sample);</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno">  484</span>    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno">  485</span>  }</div>
</div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  486</span> </div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno">  494</span>  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V = std::<span class="keywordtype">string</span>&gt;</div>
<div class="foldopen" id="foldopen00495" data-start="{" data-end="}">
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a41ef5bda4243fde3d9d7b71555f58ed4">  495</a></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a41ef5bda4243fde3d9d7b71555f58ed4">GetVirtualSample</a>(uint64_t sample, std::string&amp; value) {</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno">  496</span>    value = std::to_string(sample);</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno">  497</span>    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno">  498</span>  }</div>
</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno">  499</span> </div>
<div class="foldopen" id="foldopen00511" data-start="{" data-end="}">
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a1f5a405f19fb593d8ec38007ec401870">  511</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a1f5a405f19fb593d8ec38007ec401870">CalculateMasterTime</a>(<span class="keywordtype">bool</span> calculate_master) {</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno">  512</span>    calculate_master_time_ = calculate_master;</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno">  513</span>  }</div>
</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno">  514</span> </div>
<div class="foldopen" id="foldopen00519" data-start="{" data-end="}">
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#afa216dc859b5cf5c3f602d21e83c4f6d">  519</a></span>  [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#afa216dc859b5cf5c3f602d21e83c4f6d">CalculateMasterTime</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno">  520</span>    <span class="keywordflow">return</span> calculate_master_time_;</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno">  521</span>  }</div>
</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span> </div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a128de0bc7aa39d1b877481bb4216d410">  529</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a128de0bc7aa39d1b877481bb4216d410">ArraySize</a>(uint64_t array_size) { channel_array_size_ = array_size;}</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ac16500cdb878b302e69fdc68edd8aa49">  534</a></span>  [[nodiscard]] uint64_t <a class="code hl_function" href="classmdf_1_1_i_channel.html#ac16500cdb878b302e69fdc68edd8aa49">ArraySize</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> channel_array_size_;}</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno">  535</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno">  536</span> </div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno">  537</span> </div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#aa1e1142f67b241c5400f00f08d97dce5">  539</a></span>  <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#aa1e1142f67b241c5400f00f08d97dce5">GetSignedValue</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno">  540</span>                              int64_t &amp;dest,</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno">  541</span>                              uint64_t array_index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a969c683a1064ebd9b523f60534ec75b9">  543</a></span>  <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a969c683a1064ebd9b523f60534ec75b9">GetFloatValue</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno">  544</span>                             <span class="keywordtype">double</span> &amp;dest,</div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno">  545</span>                             uint64_t array_index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno">  546</span> </div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ac5fdc32000d9154800e7b76b7f54f6b6">  548</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ac5fdc32000d9154800e7b76b7f54f6b6">GetByteArrayValue</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno">  549</span>                                 std::vector&lt;uint8_t&gt; &amp;dest) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno">  550</span> </div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a77f58411ed496fec1f4b7dd4f63be873">  552</a></span>  <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a77f58411ed496fec1f4b7dd4f63be873">GetCanOpenDate</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno">  553</span>                              uint64_t &amp;dest) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno">  554</span> </div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a9bb6258ce9e62afd72f4f4e8e9137dc7">  556</a></span>  <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a9bb6258ce9e62afd72f4f4e8e9137dc7">GetCanOpenTime</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno">  557</span>                              uint64_t &amp;dest) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno">  558</span> </div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a6c7298472cadb74a0144da13cc7258d8">  560</a></span>  [[nodiscard]] <span class="keyword">virtual</span> std::vector&lt;uint8_t&gt; &amp;<a class="code hl_function" href="classmdf_1_1_i_channel.html#a6c7298472cadb74a0144da13cc7258d8">SampleBuffer</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno">  561</span> </div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a95232e6e4f4c88721d794818e1bcbe29">  563</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a95232e6e4f4c88721d794818e1bcbe29">SetValid</a>(<span class="keywordtype">bool</span> valid, uint64_t array_index);</div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno">  564</span> </div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#aadf35f4d5afeae5700d82d669c75e274">  566</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#aadf35f4d5afeae5700d82d669c75e274">GetValid</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno">  567</span>                        uint64_t array_index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno">  568</span> </div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a3309b74327da32fe5c831de7d6ee1336">  570</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a3309b74327da32fe5c831de7d6ee1336">SetUnsignedValueLe</a>(uint64_t value, <span class="keywordtype">bool</span> valid, uint64_t array_index);</div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a965b747a9c066c06fe2cd4cd396575e9">  572</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a965b747a9c066c06fe2cd4cd396575e9">SetUnsignedValueBe</a>(uint64_t value, <span class="keywordtype">bool</span> valid, uint64_t array_index);</div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ac6f68f430feeb6c20182c145738c520d">  574</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ac6f68f430feeb6c20182c145738c520d">SetSignedValueLe</a>(int64_t value, <span class="keywordtype">bool</span> valid, uint64_t array_index);</div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a7f9b5ba030b2bc5aa68368129481c972">  576</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a7f9b5ba030b2bc5aa68368129481c972">SetSignedValueBe</a>(int64_t value, <span class="keywordtype">bool</span> valid, uint64_t array_index);</div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a952a3b22453bc49fc2df99ee41680d90">  578</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a952a3b22453bc49fc2df99ee41680d90">SetFloatValueLe</a>(<span class="keywordtype">double</span> value, <span class="keywordtype">bool</span> valid, uint64_t array_index);</div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a7cbbebac2e3c31a82101d727938636fe">  580</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a7cbbebac2e3c31a82101d727938636fe">SetFloatValueBe</a>(<span class="keywordtype">double</span> value, <span class="keywordtype">bool</span> valid, uint64_t array_index);</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a840a972e3dd3989962a001bd28c4e462">  582</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a840a972e3dd3989962a001bd28c4e462">SetTextValue</a>(<span class="keyword">const</span> std::string &amp;value, <span class="keywordtype">bool</span> valid);</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a23116424bfaa7e5d87f2f2d8b6e232d9">  584</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a23116424bfaa7e5d87f2f2d8b6e232d9">SetByteArray</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;value, <span class="keywordtype">bool</span> valid);</div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno">  585</span> </div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno">  586</span> </div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno">  587</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno">  588</span> </div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno">  589</span>  <span class="keyword">mutable</span> uint64_t vlsd_record_id_ = 0; </div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno">  590</span>  <span class="keywordtype">bool</span> calculate_master_time_ = <span class="keyword">true</span>; </div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno">  591</span>  uint64_t channel_array_size_ = 1; </div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno">  592</span>};</div>
</div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno">  593</span> </div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno">  594</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="foldopen" id="foldopen00595" data-start="{" data-end="}">
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#af516e447a9e2bb6a7b1e7b46e7257525">  595</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#af516e447a9e2bb6a7b1e7b46e7257525">IChannel::GetChannelValue</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno">  596</span>                               T &amp;dest, uint64_t array_index)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno">  597</span>  <span class="keywordtype">bool</span> valid = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno">  598</span> </div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno">  599</span>  <span class="keywordflow">switch</span> (<a class="code hl_function" href="classmdf_1_1_i_channel.html#a931e9af5462ff48caa462d775d6ff830">DataType</a>()) {</div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno">  600</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a3d8c5b0c84d3c13c685749338d96e812">ChannelDataType::UnsignedIntegerLe</a>:</div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno">  601</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722ae6543ba35c9cd740a7c91e07be9e231c">ChannelDataType::UnsignedIntegerBe</a>: {</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno">  602</span>      uint64_t value = 0;</div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno">  603</span>      valid = <a class="code hl_function" href="classmdf_1_1_i_channel.html#a3e7a28ee965b4121891d76ebbeecee14">GetUnsignedValue</a>(record_buffer, value, array_index);</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno">  604</span>      dest = <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(value);</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno">  605</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno">  606</span>    }</div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno">  607</span> </div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno">  608</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722ab9f962c0e1fc6cd005dfa84b8b082758">ChannelDataType::SignedIntegerLe</a>:</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno">  609</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a38f0dc27477a45b9c3b92a8527ec627b">ChannelDataType::SignedIntegerBe</a>: {</div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno">  610</span>      int64_t value = 0;</div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno">  611</span>      valid = <a class="code hl_function" href="classmdf_1_1_i_channel.html#aa1e1142f67b241c5400f00f08d97dce5">GetSignedValue</a>(record_buffer, value, array_index);</div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno">  612</span>      dest = <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(value);</div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno">  613</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno">  614</span>    }</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno">  615</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a6835157213e98f65d7b8b87388f17cba">ChannelDataType::FloatLe</a>:</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno">  616</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722aa5e26fec45b1179c4338c4db60c840b3">ChannelDataType::FloatBe</a>: {</div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno">  617</span>      <span class="keywordtype">double</span> value = 0;</div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno">  618</span>      valid = <a class="code hl_function" href="classmdf_1_1_i_channel.html#a969c683a1064ebd9b523f60534ec75b9">GetFloatValue</a>(record_buffer, value, array_index);</div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno">  619</span>      dest = <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(value);</div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno">  620</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno">  621</span>    }</div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno">  622</span> </div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno">  623</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a21e5fa7038abacaa3a18253de43fe451">ChannelDataType::StringUTF16Le</a>:</div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno">  624</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a668c2004661c1b7f1d6ecc1e4b4f105b">ChannelDataType::StringUTF16Be</a>:</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno">  625</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a270eae1795a15432ab07a1b2f9bf7bb5">ChannelDataType::StringUTF8</a>:</div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno">  626</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722aa2f1cba0bbfc632c18c8600557e5ef82">ChannelDataType::StringAscii</a>: {</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno">  627</span>      std::string text;</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno">  628</span>      valid = <a class="code hl_function" href="classmdf_1_1_i_channel.html#a3136a15e15cd5023c26d6b6fa2b79790">GetTextValue</a>(record_buffer, text);</div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno">  629</span>      std::istringstream data(text);</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno">  630</span>      data &gt;&gt; dest;</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno">  631</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno">  632</span>    }</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno">  633</span> </div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno">  634</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722af51576cc6cfc1e6abb5be79f24cf39a0">ChannelDataType::MimeStream</a>:</div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno">  635</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a70070b65143948de357e447c813e44ba">ChannelDataType::MimeSample</a>:</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno">  636</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a29d83f0080e24c1f4b3975dc9ff9e868">ChannelDataType::ByteArray</a>: {</div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno">  637</span>      std::vector&lt;uint8_t&gt; list;</div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno">  638</span>      valid = <a class="code hl_function" href="classmdf_1_1_i_channel.html#ac5fdc32000d9154800e7b76b7f54f6b6">GetByteArrayValue</a>(record_buffer, list);</div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno">  639</span>      dest = list.empty() ? T{} : list[0];</div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno">  640</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno">  641</span>    }</div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno">  642</span> </div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno">  643</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a2f9b4e22520900077df8d4a52ff9a6d4">ChannelDataType::CanOpenDate</a>: {</div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno">  644</span>      uint64_t ms_since_1970 = 0;</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno">  645</span>      valid = <a class="code hl_function" href="classmdf_1_1_i_channel.html#a77f58411ed496fec1f4b7dd4f63be873">GetCanOpenDate</a>(record_buffer, ms_since_1970);</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno">  646</span>      dest = <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(ms_since_1970);</div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno">  647</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno">  648</span>    }</div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno">  649</span> </div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno">  650</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722acbda3fa2f982691bd851286c23406378">ChannelDataType::CanOpenTime</a>: {</div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno">  651</span>      uint64_t ms_since_1970 = 0;</div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno">  652</span>      valid = <a class="code hl_function" href="classmdf_1_1_i_channel.html#a9bb6258ce9e62afd72f4f4e8e9137dc7">GetCanOpenTime</a>(record_buffer, ms_since_1970);</div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno">  653</span>      dest = <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(ms_since_1970);</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno">  654</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno">  655</span>    }</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno">  656</span>    <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno">  657</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno">  658</span>  }</div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno">  659</span>  <span class="keywordflow">if</span> (valid) {</div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno">  660</span>     valid = <a class="code hl_function" href="classmdf_1_1_i_channel.html#aadf35f4d5afeae5700d82d669c75e274">GetValid</a>(record_buffer, array_index);</div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno">  661</span>  }</div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno">  662</span>  <span class="keywordflow">return</span> valid;</div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno">  663</span>}</div>
</div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno">  664</span> </div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno">  666</span><span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a3a9d5f8b336e6fa4933a456a28c0f2ac">  667</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#af516e447a9e2bb6a7b1e7b46e7257525">IChannel::GetChannelValue</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno">  668</span>                               std::vector&lt;uint8_t&gt; &amp;dest, uint64_t array_index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno">  669</span> </div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno">  671</span><span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ac01475f1def078bbcd842d983764b99f">  672</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#af516e447a9e2bb6a7b1e7b46e7257525">IChannel::GetChannelValue</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;record_buffer,</div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno">  673</span>                               std::string &amp;dest, uint64_t array_index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno">  674</span> </div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno">  675</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="foldopen" id="foldopen00676" data-start="{" data-end="}">
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a0f02ecc9cf3760267c95b7eb4e1868d8">  676</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a0f02ecc9cf3760267c95b7eb4e1868d8">IChannel::SetChannelValue</a>(<span class="keyword">const</span> T &amp;value, <span class="keywordtype">bool</span> valid,</div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno">  677</span>                               uint64_t array_index ) {</div>
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno">  678</span>  <span class="keywordflow">switch</span> (<a class="code hl_function" href="classmdf_1_1_i_channel.html#a931e9af5462ff48caa462d775d6ff830">DataType</a>()) {</div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno">  679</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a3d8c5b0c84d3c13c685749338d96e812">ChannelDataType::UnsignedIntegerLe</a>:</div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno">  680</span>      <a class="code hl_function" href="classmdf_1_1_i_channel.html#a3309b74327da32fe5c831de7d6ee1336">SetUnsignedValueLe</a>(<span class="keyword">static_cast&lt;</span>uint64_t<span class="keyword">&gt;</span>(value), valid, array_index);</div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno">  681</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno">  682</span> </div>
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno">  683</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722ae6543ba35c9cd740a7c91e07be9e231c">ChannelDataType::UnsignedIntegerBe</a>:</div>
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno">  684</span>      <a class="code hl_function" href="classmdf_1_1_i_channel.html#a965b747a9c066c06fe2cd4cd396575e9">SetUnsignedValueBe</a>(<span class="keyword">static_cast&lt;</span>uint64_t<span class="keyword">&gt;</span>(value), valid, array_index);</div>
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno">  685</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno">  686</span> </div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno">  687</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722ab9f962c0e1fc6cd005dfa84b8b082758">ChannelDataType::SignedIntegerLe</a>:</div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno">  688</span>      <a class="code hl_function" href="classmdf_1_1_i_channel.html#ac6f68f430feeb6c20182c145738c520d">SetSignedValueLe</a>(<span class="keyword">static_cast&lt;</span>int64_t<span class="keyword">&gt;</span>(value), valid, array_index);</div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno">  689</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno">  690</span> </div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno">  691</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a38f0dc27477a45b9c3b92a8527ec627b">ChannelDataType::SignedIntegerBe</a>:</div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno">  692</span>      <a class="code hl_function" href="classmdf_1_1_i_channel.html#a7f9b5ba030b2bc5aa68368129481c972">SetSignedValueBe</a>(<span class="keyword">static_cast&lt;</span>int64_t<span class="keyword">&gt;</span>(value), valid, array_index);</div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno">  693</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno">  694</span> </div>
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno">  695</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a6835157213e98f65d7b8b87388f17cba">ChannelDataType::FloatLe</a>:</div>
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno">  696</span>      <a class="code hl_function" href="classmdf_1_1_i_channel.html#a952a3b22453bc49fc2df99ee41680d90">SetFloatValueLe</a>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(value), valid, array_index);</div>
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno">  697</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno">  698</span> </div>
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno">  699</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722aa5e26fec45b1179c4338c4db60c840b3">ChannelDataType::FloatBe</a>:</div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno">  700</span>      <a class="code hl_function" href="classmdf_1_1_i_channel.html#a7cbbebac2e3c31a82101d727938636fe">SetFloatValueBe</a>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(value), valid, array_index);</div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno">  701</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno">  702</span> </div>
<div class="line"><a id="l00703" name="l00703"></a><span class="lineno">  703</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a270eae1795a15432ab07a1b2f9bf7bb5">ChannelDataType::StringUTF8</a>:</div>
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno">  704</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722aa2f1cba0bbfc632c18c8600557e5ef82">ChannelDataType::StringAscii</a>:</div>
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno">  705</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a668c2004661c1b7f1d6ecc1e4b4f105b">ChannelDataType::StringUTF16Be</a>:</div>
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno">  706</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a21e5fa7038abacaa3a18253de43fe451">ChannelDataType::StringUTF16Le</a>:</div>
<div class="line"><a id="l00707" name="l00707"></a><span class="lineno">  707</span>      <a class="code hl_function" href="classmdf_1_1_i_channel.html#a840a972e3dd3989962a001bd28c4e462">SetTextValue</a>(std::to_string(value), valid);</div>
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno">  708</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno">  709</span> </div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno">  710</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722af51576cc6cfc1e6abb5be79f24cf39a0">ChannelDataType::MimeStream</a>:</div>
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno">  711</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a70070b65143948de357e447c813e44ba">ChannelDataType::MimeSample</a>:</div>
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno">  712</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a29d83f0080e24c1f4b3975dc9ff9e868">ChannelDataType::ByteArray</a>:</div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno">  713</span>      <span class="comment">// SetByteArray(value, valid);</span></div>
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno">  714</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno">  715</span> </div>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno">  716</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a2f9b4e22520900077df8d4a52ff9a6d4">ChannelDataType::CanOpenDate</a>:</div>
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno">  717</span>      <span class="keywordflow">if</span> (<span class="keyword">typeid</span>(T) == <span class="keyword">typeid</span>(uint64_t) &amp;&amp; <a class="code hl_function" href="classmdf_1_1_i_channel.html#a59d764d8bf7f80a12bdf26057f414c2e">DataBytes</a>() == 7) {</div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno">  718</span>        <span class="keyword">const</span> <span class="keyword">auto</span> date_array =</div>
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno">  719</span>            <a class="code hl_function" href="classmdf_1_1_mdf_helper.html#af8d093bccbbd087a2e126bb47e9ceba0">MdfHelper::NsToCanOpenDateArray</a>(<span class="keyword">static_cast&lt;</span>uint64_t<span class="keyword">&gt;</span>(value));</div>
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno">  720</span>        <a class="code hl_function" href="classmdf_1_1_i_channel.html#a23116424bfaa7e5d87f2f2d8b6e232d9">SetByteArray</a>(date_array, valid);</div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno">  721</span>      } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno">  722</span>        <a class="code hl_function" href="classmdf_1_1_i_channel.html#a95232e6e4f4c88721d794818e1bcbe29">SetValid</a>(<span class="keyword">false</span>, array_index);</div>
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno">  723</span>      }</div>
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno">  724</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00725" name="l00725"></a><span class="lineno">  725</span> </div>
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno">  726</span>    <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722acbda3fa2f982691bd851286c23406378">ChannelDataType::CanOpenTime</a>:</div>
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno">  727</span>      <span class="keywordflow">if</span> (<span class="keyword">typeid</span>(T) == <span class="keyword">typeid</span>(uint64_t) &amp;&amp; <a class="code hl_function" href="classmdf_1_1_i_channel.html#a59d764d8bf7f80a12bdf26057f414c2e">DataBytes</a>() == 6) {</div>
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno">  728</span>        <span class="keyword">const</span> <span class="keyword">auto</span> time_array =</div>
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno">  729</span>            <a class="code hl_function" href="classmdf_1_1_mdf_helper.html#aea95c071fce3ed0fc9c43e51b8cf8de8">MdfHelper::NsToCanOpenTimeArray</a>(<span class="keyword">static_cast&lt;</span>uint64_t<span class="keyword">&gt;</span>(value));</div>
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno">  730</span>        <a class="code hl_function" href="classmdf_1_1_i_channel.html#a23116424bfaa7e5d87f2f2d8b6e232d9">SetByteArray</a>(time_array, valid);</div>
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno">  731</span>      } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno">  732</span>        <a class="code hl_function" href="classmdf_1_1_i_channel.html#a95232e6e4f4c88721d794818e1bcbe29">SetValid</a>(<span class="keyword">false</span>, array_index);</div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno">  733</span>      }</div>
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno">  734</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno">  735</span> </div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno">  736</span>    <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno">  737</span>      <a class="code hl_function" href="classmdf_1_1_i_channel.html#a95232e6e4f4c88721d794818e1bcbe29">SetValid</a>(<span class="keyword">false</span>, array_index);</div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno">  738</span>      <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno">  739</span>  }</div>
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno">  740</span>};</div>
</div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno">  741</span> </div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno">  743</span><span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a3ba4be9b302561d57203d2dd6d1d9ba5">  744</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a0f02ecc9cf3760267c95b7eb4e1868d8">IChannel::SetChannelValue</a>(<span class="keyword">const</span> std::string &amp;value, <span class="keywordtype">bool</span> valid,</div>
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno">  745</span>                               uint64_t array_index);</div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno">  746</span> </div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno">  748</span><span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#a9fdaabb69166cc382b1d8ff29c6f28ac">  749</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#a0f02ecc9cf3760267c95b7eb4e1868d8">IChannel::SetChannelValue</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt; &amp;values, <span class="keywordtype">bool</span> valid,</div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno">  750</span>                               uint64_t array_index);</div>
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno">  751</span> </div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno">  752</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="foldopen" id="foldopen00753" data-start="{" data-end="}">
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"><a class="line" href="classmdf_1_1_i_channel.html#ad694470ca2821905f1b957a72a90f0f9">  753</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classmdf_1_1_i_channel.html#ad694470ca2821905f1b957a72a90f0f9">IChannel::SetChannelValues</a>(<span class="keyword">const</span> std::vector&lt;T&gt;&amp; values) {</div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno">  754</span>  <span class="keyword">const</span> <span class="keyword">auto</span>* array = <a class="code hl_function" href="classmdf_1_1_i_channel.html#a115a9a7199ae62203607ee304435b905">ChannelArray</a>();</div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno">  755</span>  <span class="keyword">const</span> <span class="keyword">auto</span> array_size = array != <span class="keyword">nullptr</span> ?</div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno">  756</span>                                           array-&gt;NofArrayValues() : 1;</div>
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno">  757</span>  uint64_t index = 0;</div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno">  758</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> T&amp; value : values) {</div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno">  759</span>    <span class="keywordflow">if</span> (index &lt; array_size) {</div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno">  760</span>      <a class="code hl_function" href="classmdf_1_1_i_channel.html#a0f02ecc9cf3760267c95b7eb4e1868d8">SetChannelValue</a>(value, <span class="keyword">true</span>, index);</div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno">  761</span>    }</div>
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno">  762</span>    ++index;</div>
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno">  763</span>  }</div>
<div class="line"><a id="l00764" name="l00764"></a><span class="lineno">  764</span>}</div>
</div>
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno">  765</span> </div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno">  766</span>}  <span class="comment">// namespace mdf</span></div>
<div class="ttc" id="aclassmdf_1_1_i_attachment_html"><div class="ttname"><a href="classmdf_1_1_i_attachment.html">mdf::IAttachment</a></div><div class="ttdoc">Interface against an attached file.</div><div class="ttdef"><b>Definition</b> iattachment.h:21</div></div>
<div class="ttc" id="aclassmdf_1_1_i_block_html"><div class="ttname"><a href="classmdf_1_1_i_block.html">mdf::IBlock</a></div><div class="ttdoc">Base class for all MDF blocks.</div><div class="ttdef"><b>Definition</b> iblock.h:19</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_array_html"><div class="ttname"><a href="classmdf_1_1_i_channel_array.html">mdf::IChannelArray</a></div><div class="ttdoc">Defines an interface against an array (CA) block.</div><div class="ttdef"><b>Definition</b> ichannelarray.h:74</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_conversion_html"><div class="ttname"><a href="classmdf_1_1_i_channel_conversion.html">mdf::IChannelConversion</a></div><div class="ttdoc">Defines a channel conversion (CC) block.</div><div class="ttdef"><b>Definition</b> ichannelconversion.h:142</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_conversion_html_ae702e04c6a95ed3a2d97ffd7afbf322a"><div class="ttname"><a href="classmdf_1_1_i_channel_conversion.html#ae702e04c6a95ed3a2d97ffd7afbf322a">mdf::IChannelConversion::Type</a></div><div class="ttdeci">virtual void Type(ConversionType type)=0</div><div class="ttdoc">Sets the conversion type.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_group_html"><div class="ttname"><a href="classmdf_1_1_i_channel_group.html">mdf::IChannelGroup</a></div><div class="ttdoc">Interface against a channel group (CG) block.</div><div class="ttdef"><b>Definition</b> ichannelgroup.h:66</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html"><div class="ttname"><a href="classmdf_1_1_i_channel.html">mdf::IChannel</a></div><div class="ttdoc">Defines a MDF channel (CN) block.</div><div class="ttdef"><b>Definition</b> ichannel.h:126</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a05c144d60e2b9fccff15ff910ac8e619"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a05c144d60e2b9fccff15ff910ac8e619">mdf::IChannel::Range</a></div><div class="ttdeci">virtual void Range(double min, double max)</div><div class="ttdoc">Sets the ranges.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a06e8995a869945f0cfd373350d2a3adc"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a06e8995a869945f0cfd373350d2a3adc">mdf::IChannel::Limit</a></div><div class="ttdeci">virtual std::optional&lt; std::pair&lt; double, double &gt; &gt; Limit() const</div><div class="ttdoc">Returns the limits.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a0f02ecc9cf3760267c95b7eb4e1868d8"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a0f02ecc9cf3760267c95b7eb4e1868d8">mdf::IChannel::SetChannelValue</a></div><div class="ttdeci">void SetChannelValue(const T &amp;value, bool valid=true, uint64_t array_index=0)</div><div class="ttdoc">Sets a channel value.</div><div class="ttdef"><b>Definition</b> ichannel.h:676</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a0f3c1efa16f7e760c3079ad6f2f1c3cf"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a0f3c1efa16f7e760c3079ad6f2f1c3cf">mdf::IChannel::ChannelGroup</a></div><div class="ttdeci">virtual const IChannelGroup * ChannelGroup() const =0</div><div class="ttdoc">Support function that returns its channel group.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a115a9a7199ae62203607ee304435b905"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a115a9a7199ae62203607ee304435b905">mdf::IChannel::ChannelArray</a></div><div class="ttdeci">virtual IChannelArray * ChannelArray() const</div><div class="ttdoc">Returns the channel array object if any exist in this channel.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a128de0bc7aa39d1b877481bb4216d410"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a128de0bc7aa39d1b877481bb4216d410">mdf::IChannel::ArraySize</a></div><div class="ttdeci">void ArraySize(uint64_t array_size)</div><div class="ttdoc">Sets the array size for the channel.</div><div class="ttdef"><b>Definition</b> ichannel.h:529</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a1657ee3a93c646a0ca1faea8d62488a8"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a1657ee3a93c646a0ca1faea8d62488a8">mdf::IChannel::Description</a></div><div class="ttdeci">virtual std::string Description() const =0</div><div class="ttdoc">Returns the description.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a198df1edd0fbeeabd25c405841ab4328"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a198df1edd0fbeeabd25c405841ab4328">mdf::IChannel::SamplingRate</a></div><div class="ttdeci">virtual double SamplingRate() const =0</div><div class="ttdoc">Returns the sample rate (s). This is a MDF 3 feature.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a1f5a405f19fb593d8ec38007ec401870"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a1f5a405f19fb593d8ec38007ec401870">mdf::IChannel::CalculateMasterTime</a></div><div class="ttdeci">void CalculateMasterTime(bool calculate_master)</div><div class="ttdoc">Defines if the master channel time should be calculated or not.</div><div class="ttdef"><b>Definition</b> ichannel.h:511</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a23116424bfaa7e5d87f2f2d8b6e232d9"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a23116424bfaa7e5d87f2f2d8b6e232d9">mdf::IChannel::SetByteArray</a></div><div class="ttdeci">virtual void SetByteArray(const std::vector&lt; uint8_t &gt; &amp;value, bool valid)</div><div class="ttdoc">Support function that sets array values.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a232823d55efef433e246ee85d0c73dc4"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a232823d55efef433e246ee85d0c73dc4">mdf::IChannel::SourceInformation</a></div><div class="ttdeci">virtual ISourceInformation * SourceInformation() const</div><div class="ttdoc">Returns the source information, if any.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a258517eee06f2275d4edc29f6e92268f"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a258517eee06f2275d4edc29f6e92268f">mdf::IChannel::RecordId</a></div><div class="ttdeci">uint64_t RecordId() const</div><div class="ttdoc">Returns th channel group (CG) record ID.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a29cb869f6486173eacf7a45fec6dffd0"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a29cb869f6486173eacf7a45fec6dffd0">mdf::IChannel::CreateSourceInformation</a></div><div class="ttdeci">virtual ISourceInformation * CreateSourceInformation()</div><div class="ttdoc">Creates a source information block.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a2ddb199531ebfccb20a7f599681a36a1"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a2ddb199531ebfccb20a7f599681a36a1">mdf::IChannel::IsDecimalUsed</a></div><div class="ttdeci">virtual bool IsDecimalUsed() const =0</div><div class="ttdoc">Returns true if decimals is used</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a30b1815c3a1c78ff8318bbadabf97652"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a30b1815c3a1c78ff8318bbadabf97652">mdf::IChannel::AttachmentList</a></div><div class="ttdeci">virtual std::vector&lt; const IAttachment * &gt; AttachmentList() const</div><div class="ttdoc">Returns a list of attachment pointers.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a3136a15e15cd5023c26d6b6fa2b79790"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a3136a15e15cd5023c26d6b6fa2b79790">mdf::IChannel::GetTextValue</a></div><div class="ttdeci">virtual bool GetTextValue(const std::vector&lt; uint8_t &gt; &amp;record_buffer, std::string &amp;dest) const</div><div class="ttdoc">Internally used function mainly for fetching VLSD text values.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a3309b74327da32fe5c831de7d6ee1336"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a3309b74327da32fe5c831de7d6ee1336">mdf::IChannel::SetUnsignedValueLe</a></div><div class="ttdeci">void SetUnsignedValueLe(uint64_t value, bool valid, uint64_t array_index)</div><div class="ttdoc">Support function that sets unsigned little endian values.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a33a5529d183edeb6b881c791f3a3c451"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a33a5529d183edeb6b881c791f3a3c451">mdf::IChannel::SetTimestamp</a></div><div class="ttdeci">void SetTimestamp(double timestamp, std::vector&lt; uint8_t &gt; &amp;record_buffer) const</div><div class="ttdoc">The function change the supplied records time channel value.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a34f93d53a8257129fbf322861c4b002c"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a34f93d53a8257129fbf322861c4b002c">mdf::IChannel::VlsdRecordId</a></div><div class="ttdeci">uint64_t VlsdRecordId() const</div><div class="ttdoc">Returns the VLSD record id.</div><div class="ttdef"><b>Definition</b> ichannel.h:334</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a36a3b88bc8d1a5844d04289e89e826c4"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a36a3b88bc8d1a5844d04289e89e826c4">mdf::IChannel::Unit</a></div><div class="ttdeci">virtual void Unit(const std::string &amp;unit)=0</div><div class="ttdoc">Sets unit string or or the MIME text string.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a3e7a28ee965b4121891d76ebbeecee14"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a3e7a28ee965b4121891d76ebbeecee14">mdf::IChannel::GetUnsignedValue</a></div><div class="ttdeci">bool GetUnsignedValue(const std::vector&lt; uint8_t &gt; &amp;record_buffer, uint64_t &amp;dest, uint64_t array_index=0) const</div><div class="ttdoc">Internally used function mainly for fetching VLSD index values.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a3ebf5ebecaef52c6a745e095256f8fe4"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a3ebf5ebecaef52c6a745e095256f8fe4">mdf::IChannel::ByteOffset</a></div><div class="ttdeci">virtual uint32_t ByteOffset() const =0</div><div class="ttdoc">Returns the byte offset to data in the record.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a41ef5bda4243fde3d9d7b71555f58ed4"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a41ef5bda4243fde3d9d7b71555f58ed4">mdf::IChannel::GetVirtualSample</a></div><div class="ttdeci">static bool GetVirtualSample(uint64_t sample, std::string &amp;value)</div><div class="ttdoc">Specialization that returns virtual sample values.</div><div class="ttdef"><b>Definition</b> ichannel.h:495</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a5314d56e61ffc2b736ca9b69a6050229"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a5314d56e61ffc2b736ca9b69a6050229">mdf::IChannel::Type</a></div><div class="ttdeci">virtual void Type(ChannelType type)=0</div><div class="ttdoc">Sets the type of channel.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a541ee7e29a97be10c4bdf0fde3382e9f"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a541ee7e29a97be10c4bdf0fde3382e9f">mdf::IChannel::SamplingRate</a></div><div class="ttdeci">virtual void SamplingRate(double sampling_rate)=0</div><div class="ttdoc">Sets the sample rate (s). This is a MDF 3 feature.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a575bb123eaad4903954941aab17d2b14"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a575bb123eaad4903954941aab17d2b14">mdf::IChannel::Sync</a></div><div class="ttdeci">virtual void Sync(ChannelSyncType type)</div><div class="ttdoc">Sets the type of sync.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a580d277c71bc001ee8e26edd55e96a56"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a580d277c71bc001ee8e26edd55e96a56">mdf::IChannel::BitCount</a></div><div class="ttdeci">virtual uint32_t BitCount() const =0</div><div class="ttdoc">Returns the data size in number of bits.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a59d764d8bf7f80a12bdf26057f414c2e"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a59d764d8bf7f80a12bdf26057f414c2e">mdf::IChannel::DataBytes</a></div><div class="ttdeci">virtual uint64_t DataBytes() const =0</div><div class="ttdoc">Data size (bytes);.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a5f19e08b1f8f20f7036e3ea43775d7a1"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a5f19e08b1f8f20f7036e3ea43775d7a1">mdf::IChannel::Type</a></div><div class="ttdeci">virtual ChannelType Type() const =0</div><div class="ttdoc">Type of channel.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a5f25048931c7687984347867a06129f6"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a5f25048931c7687984347867a06129f6">mdf::IChannel::ByteOffset</a></div><div class="ttdeci">virtual void ByteOffset(uint32_t bytes)=0</div><div class="ttdoc">Sets the byte offset in record to to data.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a62aae84ad11d364a7f6a513e46705551"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a62aae84ad11d364a7f6a513e46705551">mdf::IChannel::Flags</a></div><div class="ttdeci">virtual void Flags(uint32_t flags)</div><div class="ttdoc">Sets channel flags. Flags are defined in the CnFlag namespace</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a671a222070b00fc61e7b65795cbb477f"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a671a222070b00fc61e7b65795cbb477f">mdf::IChannel::CreateChannelConversion</a></div><div class="ttdeci">virtual IChannelConversion * CreateChannelConversion()=0</div><div class="ttdoc">Creates a conversion block.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a68e3e0929ee473830adeb4ea2640cdaa"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a68e3e0929ee473830adeb4ea2640cdaa">mdf::IChannel::MetaData</a></div><div class="ttdeci">virtual IMetaData * MetaData() const</div><div class="ttdoc">Returns the meta-data (MD) block if it exist.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a6c7298472cadb74a0144da13cc7258d8"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a6c7298472cadb74a0144da13cc7258d8">mdf::IChannel::SampleBuffer</a></div><div class="ttdeci">virtual std::vector&lt; uint8_t &gt; &amp; SampleBuffer() const =0</div><div class="ttdoc">Support function that gets the channel group sample buffer.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a6df3c83feac51d9d8ac40821e764ceae"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a6df3c83feac51d9d8ac40821e764ceae">mdf::IChannel::Name</a></div><div class="ttdeci">virtual std::string Name() const =0</div><div class="ttdoc">Returns channel name.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a75f6fab8b44865e4e02c757327a29295"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a75f6fab8b44865e4e02c757327a29295">mdf::IChannel::CreateMetaData</a></div><div class="ttdeci">virtual IMetaData * CreateMetaData()</div><div class="ttdoc">Creates a metadata (MD) block.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a76dd687896052c0425910967f077286b"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a76dd687896052c0425910967f077286b">mdf::IChannel::ChannelCompositions</a></div><div class="ttdeci">virtual std::vector&lt; IChannel * &gt; ChannelCompositions()=0</div><div class="ttdoc">Creates a composition channel.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a77f58411ed496fec1f4b7dd4f63be873"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a77f58411ed496fec1f4b7dd4f63be873">mdf::IChannel::GetCanOpenDate</a></div><div class="ttdeci">bool GetCanOpenDate(const std::vector&lt; uint8_t &gt; &amp;record_buffer, uint64_t &amp;dest) const</div><div class="ttdoc">Support function that get CANOpen date values from a record.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a7cbbebac2e3c31a82101d727938636fe"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a7cbbebac2e3c31a82101d727938636fe">mdf::IChannel::SetFloatValueBe</a></div><div class="ttdeci">void SetFloatValueBe(double value, bool valid, uint64_t array_index)</div><div class="ttdoc">Support function that sets float big endian values.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a7f9b5ba030b2bc5aa68368129481c972"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a7f9b5ba030b2bc5aa68368129481c972">mdf::IChannel::SetSignedValueBe</a></div><div class="ttdeci">void SetSignedValueBe(int64_t value, bool valid, uint64_t array_index)</div><div class="ttdoc">Support function that sets signed big endian values.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a8025c0cf92b1f5e3ecf4486a38b63509"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a8025c0cf92b1f5e3ecf4486a38b63509">mdf::IChannel::DataBytes</a></div><div class="ttdeci">virtual void DataBytes(uint64_t nof_bytes)=0</div><div class="ttdoc">Sets the data size (bytes)</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a840a972e3dd3989962a001bd28c4e462"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a840a972e3dd3989962a001bd28c4e462">mdf::IChannel::SetTextValue</a></div><div class="ttdeci">virtual void SetTextValue(const std::string &amp;value, bool valid)</div><div class="ttdoc">Support function that sets text values.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a864a22be7a831f2d9473292fb16827f7"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a864a22be7a831f2d9473292fb16827f7">mdf::IChannel::CreateChannelComposition</a></div><div class="ttdeci">virtual IChannel * CreateChannelComposition(const std::string_view &amp;name)</div><div class="ttdoc">Creates a composition channel with a specific name or returns an existing channel.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a8a2bd21f197b46d07015012a48dee3f8"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a8a2bd21f197b46d07015012a48dee3f8">mdf::IChannel::Range</a></div><div class="ttdeci">virtual std::optional&lt; std::pair&lt; double, double &gt; &gt; Range() const</div><div class="ttdoc">Returns the ranges.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a8b86497bd0b22bfc1e892e98fbd8a3b2"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a8b86497bd0b22bfc1e892e98fbd8a3b2">mdf::IChannel::CreateChannelArray</a></div><div class="ttdeci">virtual IChannelArray * CreateChannelArray()</div><div class="ttdoc">Create or returns an existing channel array (CA) block.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a8cd3b07e3da2b4e625f0a84545b963e7"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a8cd3b07e3da2b4e625f0a84545b963e7">mdf::IChannel::Description</a></div><div class="ttdeci">virtual void Description(const std::string &amp;description)=0</div><div class="ttdoc">Sets the description.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a8eeee4343e58cc7d9beb21c236ed95e8"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a8eeee4343e58cc7d9beb21c236ed95e8">mdf::IChannel::Decimals</a></div><div class="ttdeci">virtual uint8_t Decimals() const =0</div><div class="ttdoc">Number of decimals (floating points)</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a92b39d985b2153dd0bd1773489f7837c"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a92b39d985b2153dd0bd1773489f7837c">mdf::IChannel::BitCount</a></div><div class="ttdeci">virtual void BitCount(uint32_t bits)=0</div><div class="ttdoc">Sets the size of data in bits.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a931e9af5462ff48caa462d775d6ff830"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a931e9af5462ff48caa462d775d6ff830">mdf::IChannel::DataType</a></div><div class="ttdeci">virtual ChannelDataType DataType() const =0</div><div class="ttdoc">Data type.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a95232e6e4f4c88721d794818e1bcbe29"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a95232e6e4f4c88721d794818e1bcbe29">mdf::IChannel::SetValid</a></div><div class="ttdeci">virtual void SetValid(bool valid, uint64_t array_index)</div><div class="ttdoc">Support function that sets the valid flag.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a952a3b22453bc49fc2df99ee41680d90"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a952a3b22453bc49fc2df99ee41680d90">mdf::IChannel::SetFloatValueLe</a></div><div class="ttdeci">void SetFloatValueLe(double value, bool valid, uint64_t array_index)</div><div class="ttdoc">Support function that sets float little endian values.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a965b747a9c066c06fe2cd4cd396575e9"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a965b747a9c066c06fe2cd4cd396575e9">mdf::IChannel::SetUnsignedValueBe</a></div><div class="ttdeci">void SetUnsignedValueBe(uint64_t value, bool valid, uint64_t array_index)</div><div class="ttdoc">Support function that sets unsigned big endian values.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a969c683a1064ebd9b523f60534ec75b9"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a969c683a1064ebd9b523f60534ec75b9">mdf::IChannel::GetFloatValue</a></div><div class="ttdeci">bool GetFloatValue(const std::vector&lt; uint8_t &gt; &amp;record_buffer, double &amp;dest, uint64_t array_index) const</div><div class="ttdoc">Support function that get float values from a record.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_a9bb6258ce9e62afd72f4f4e8e9137dc7"><div class="ttname"><a href="classmdf_1_1_i_channel.html#a9bb6258ce9e62afd72f4f4e8e9137dc7">mdf::IChannel::GetCanOpenTime</a></div><div class="ttdeci">bool GetCanOpenTime(const std::vector&lt; uint8_t &gt; &amp;record_buffer, uint64_t &amp;dest) const</div><div class="ttdoc">Support function that get CANOpen time values from a record.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_aa1e1142f67b241c5400f00f08d97dce5"><div class="ttname"><a href="classmdf_1_1_i_channel.html#aa1e1142f67b241c5400f00f08d97dce5">mdf::IChannel::GetSignedValue</a></div><div class="ttdeci">bool GetSignedValue(const std::vector&lt; uint8_t &gt; &amp;record_buffer, int64_t &amp;dest, uint64_t array_index) const</div><div class="ttdoc">Support function that get signed integer from a record.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_aa38e43155f97b7e9faab958be1b52832"><div class="ttname"><a href="classmdf_1_1_i_channel.html#aa38e43155f97b7e9faab958be1b52832">mdf::IChannel::BitOffset</a></div><div class="ttdeci">virtual void BitOffset(uint16_t bits)=0</div><div class="ttdoc">Sets the offset to data in bits.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_aa6f066ad1c8b25e6f24e38031ea6c50e"><div class="ttname"><a href="classmdf_1_1_i_channel.html#aa6f066ad1c8b25e6f24e38031ea6c50e">mdf::IChannel::DisplayName</a></div><div class="ttdeci">virtual std::string DisplayName() const =0</div><div class="ttdoc">Display name.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_aa8ac9c2409022d3d20ebba56f74678cc"><div class="ttname"><a href="classmdf_1_1_i_channel.html#aa8ac9c2409022d3d20ebba56f74678cc">mdf::IChannel::IsNumber</a></div><div class="ttdeci">bool IsNumber() const</div><div class="ttdoc">Returns true if the channel is a number.</div><div class="ttdef"><b>Definition</b> ichannel.h:281</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_aab3f5cb61e6e8ec7b42e6bb1571a87b3"><div class="ttname"><a href="classmdf_1_1_i_channel.html#aab3f5cb61e6e8ec7b42e6bb1571a87b3">mdf::IChannel::BitOffset</a></div><div class="ttdeci">virtual uint16_t BitOffset() const =0</div><div class="ttdoc">Returns offset to data (0..7).</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_aadf35f4d5afeae5700d82d669c75e274"><div class="ttname"><a href="classmdf_1_1_i_channel.html#aadf35f4d5afeae5700d82d669c75e274">mdf::IChannel::GetValid</a></div><div class="ttdeci">virtual bool GetValid(const std::vector&lt; uint8_t &gt; &amp;record_buffer, uint64_t array_index) const</div><div class="ttdoc">Support function that return true if the valid bit is set.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ab65be17a489e6188f0974084ba306326"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ab65be17a489e6188f0974084ba306326">mdf::IChannel::AddAttachmentReference</a></div><div class="ttdeci">virtual void AddAttachmentReference(const IAttachment *attachment)</div><div class="ttdoc">Adds an attachment reference to the channel.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ab75df87353aaceb8ca1d809a99df7c17"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ab75df87353aaceb8ca1d809a99df7c17">mdf::IChannel::Limit</a></div><div class="ttdeci">virtual void Limit(double min, double max)</div><div class="ttdoc">Sets the limits.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ac0d4d05b309f1fdf0428eb1d381887df"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ac0d4d05b309f1fdf0428eb1d381887df">mdf::IChannel::Unit</a></div><div class="ttdeci">virtual std::string Unit() const =0</div><div class="ttdoc">Returns the unit string or the MIME content type string.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ac16500cdb878b302e69fdc68edd8aa49"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ac16500cdb878b302e69fdc68edd8aa49">mdf::IChannel::ArraySize</a></div><div class="ttdeci">uint64_t ArraySize() const</div><div class="ttdoc">Returns 1 if no array and &gt; 1 if it is an array.</div><div class="ttdef"><b>Definition</b> ichannel.h:534</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ac40cab295bfde6ec373bfecfaadadc45"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ac40cab295bfde6ec373bfecfaadadc45">mdf::IChannel::IsUnitValid</a></div><div class="ttdeci">virtual bool IsUnitValid() const =0</div><div class="ttdoc">True if unit exists.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ac5fdc32000d9154800e7b76b7f54f6b6"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ac5fdc32000d9154800e7b76b7f54f6b6">mdf::IChannel::GetByteArrayValue</a></div><div class="ttdeci">virtual bool GetByteArrayValue(const std::vector&lt; uint8_t &gt; &amp;record_buffer, std::vector&lt; uint8_t &gt; &amp;dest) const</div><div class="ttdoc">Support function that get array values from a record.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ac6f68f430feeb6c20182c145738c520d"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ac6f68f430feeb6c20182c145738c520d">mdf::IChannel::SetSignedValueLe</a></div><div class="ttdeci">void SetSignedValueLe(int64_t value, bool valid, uint64_t array_index)</div><div class="ttdoc">Support function that sets signed little endian values.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_acaf293bd067e1481130dc8adc465edd9"><div class="ttname"><a href="classmdf_1_1_i_channel.html#acaf293bd067e1481130dc8adc465edd9">mdf::IChannel::ChannelConversion</a></div><div class="ttdeci">virtual IChannelConversion * ChannelConversion() const =0</div><div class="ttdoc">Returns the conversion block, if any.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_acc9c9f876d464cdd131025cf55e0868f"><div class="ttname"><a href="classmdf_1_1_i_channel.html#acc9c9f876d464cdd131025cf55e0868f">mdf::IChannel::DataType</a></div><div class="ttdeci">virtual void DataType(ChannelDataType type)=0</div><div class="ttdoc">Sets the data type.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ad0d31706ee80b34c1dc5007076c4134d"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ad0d31706ee80b34c1dc5007076c4134d">mdf::IChannel::Name</a></div><div class="ttdeci">virtual void Name(const std::string &amp;name)=0</div><div class="ttdoc">Sets channel name.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ad29f9258dbf58727f6e556ecfde2bbce"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ad29f9258dbf58727f6e556ecfde2bbce">mdf::IChannel::CreateChannelComposition</a></div><div class="ttdeci">virtual IChannel * CreateChannelComposition()=0</div><div class="ttdoc">Creates a composition channel.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ad694470ca2821905f1b957a72a90f0f9"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ad694470ca2821905f1b957a72a90f0f9">mdf::IChannel::SetChannelValues</a></div><div class="ttdeci">void SetChannelValues(const std::vector&lt; T &gt; &amp;values)</div><div class="ttdoc">Sets channel array values.</div><div class="ttdef"><b>Definition</b> ichannel.h:753</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ae1da89191e31edf36c8fe4d5ed894b13"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ae1da89191e31edf36c8fe4d5ed894b13">mdf::IChannel::GetVirtualSample</a></div><div class="ttdeci">static bool GetVirtualSample(uint64_t sample, V &amp;value)</div><div class="ttdoc">Returns the value for a virtual sample.</div><div class="ttdef"><b>Definition</b> ichannel.h:480</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ae3f2799e0dcb124e1968302cf9123102"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ae3f2799e0dcb124e1968302cf9123102">mdf::IChannel::Decimals</a></div><div class="ttdeci">virtual void Decimals(uint8_t precision)</div><div class="ttdoc">Sets number of decimals (floating points only)</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_ae7c4561396862770e5b829201a73daf4"><div class="ttname"><a href="classmdf_1_1_i_channel.html#ae7c4561396862770e5b829201a73daf4">mdf::IChannel::Sync</a></div><div class="ttdeci">virtual ChannelSyncType Sync() const</div><div class="ttdoc">Type of sync.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_af0097710fe52be6fa446944cd9f126bf"><div class="ttname"><a href="classmdf_1_1_i_channel.html#af0097710fe52be6fa446944cd9f126bf">mdf::IChannel::VlsdRecordId</a></div><div class="ttdeci">void VlsdRecordId(uint64_t record_id) const</div><div class="ttdoc">Sets the VLSD record id.</div><div class="ttdef"><b>Definition</b> ichannel.h:322</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_af32c29ab60072244fab0ebaa132e3bf3"><div class="ttname"><a href="classmdf_1_1_i_channel.html#af32c29ab60072244fab0ebaa132e3bf3">mdf::IChannel::DisplayName</a></div><div class="ttdeci">virtual void DisplayName(const std::string &amp;name)=0</div><div class="ttdoc">Sets display name.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_af516e447a9e2bb6a7b1e7b46e7257525"><div class="ttname"><a href="classmdf_1_1_i_channel.html#af516e447a9e2bb6a7b1e7b46e7257525">mdf::IChannel::GetChannelValue</a></div><div class="ttdeci">bool GetChannelValue(const std::vector&lt; uint8_t &gt; &amp;record_buffer, T &amp;dest, uint64_t array_index=0) const</div><div class="ttdoc">Parse out the channel value from a data record.</div><div class="ttdef"><b>Definition</b> ichannel.h:595</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_af59baaa5abd9c2077fe0c9c2d1c0cd9d"><div class="ttname"><a href="classmdf_1_1_i_channel.html#af59baaa5abd9c2077fe0c9c2d1c0cd9d">mdf::IChannel::ExtLimit</a></div><div class="ttdeci">virtual std::optional&lt; std::pair&lt; double, double &gt; &gt; ExtLimit() const</div><div class="ttdoc">Returns the extended limits.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_af86276080181f8cc33cc182c4bf5bdb5"><div class="ttname"><a href="classmdf_1_1_i_channel.html#af86276080181f8cc33cc182c4bf5bdb5">mdf::IChannel::ExtLimit</a></div><div class="ttdeci">virtual void ExtLimit(double min, double max)</div><div class="ttdoc">Sets the extended limits.</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_afa216dc859b5cf5c3f602d21e83c4f6d"><div class="ttname"><a href="classmdf_1_1_i_channel.html#afa216dc859b5cf5c3f602d21e83c4f6d">mdf::IChannel::CalculateMasterTime</a></div><div class="ttdeci">bool CalculateMasterTime() const</div><div class="ttdoc">Defines if the master channel time is calculated or user defined.</div><div class="ttdef"><b>Definition</b> ichannel.h:519</div></div>
<div class="ttc" id="aclassmdf_1_1_i_channel_html_afdee04da646dd8f0449e629dbe3e0b04"><div class="ttname"><a href="classmdf_1_1_i_channel.html#afdee04da646dd8f0449e629dbe3e0b04">mdf::IChannel::Flags</a></div><div class="ttdeci">virtual uint32_t Flags() const</div><div class="ttdoc">Channel flags are defined in the CnFlag namespace</div></div>
<div class="ttc" id="aclassmdf_1_1_i_meta_data_html"><div class="ttname"><a href="classmdf_1_1_i_meta_data.html">mdf::IMetaData</a></div><div class="ttdoc">Interface against an meta data block (MD) in a MDF4 file.</div><div class="ttdef"><b>Definition</b> imetadata.h:27</div></div>
<div class="ttc" id="aclassmdf_1_1_i_source_information_html"><div class="ttname"><a href="classmdf_1_1_i_source_information.html">mdf::ISourceInformation</a></div><div class="ttdoc">Interface to a source information (SI) block.</div><div class="ttdef"><b>Definition</b> isourceinformation.h:51</div></div>
<div class="ttc" id="aclassmdf_1_1_mdf_helper_html_aea95c071fce3ed0fc9c43e51b8cf8de8"><div class="ttname"><a href="classmdf_1_1_mdf_helper.html#aea95c071fce3ed0fc9c43e51b8cf8de8">mdf::MdfHelper::NsToCanOpenTimeArray</a></div><div class="ttdeci">static std::vector&lt; uint8_t &gt; NsToCanOpenTimeArray(uint64_t ns_since_1970)</div><div class="ttdoc">Converts from nanoseconds to CANopen 6 byte Time array.</div></div>
<div class="ttc" id="aclassmdf_1_1_mdf_helper_html_af8d093bccbbd087a2e126bb47e9ceba0"><div class="ttname"><a href="classmdf_1_1_mdf_helper.html#af8d093bccbbd087a2e126bb47e9ceba0">mdf::MdfHelper::NsToCanOpenDateArray</a></div><div class="ttdeci">static std::vector&lt; uint8_t &gt; NsToCanOpenDateArray(uint64_t ns_since_1970)</div><div class="ttdoc">Converts from nanoseconds to CANopen 7 byte Date array.</div></div>
<div class="ttc" id="aiattachment_8h_html"><div class="ttname"><a href="iattachment_8h.html">iattachment.h</a></div><div class="ttdoc">Interface against an attached file.</div></div>
<div class="ttc" id="aiblock_8h_html"><div class="ttname"><a href="iblock_8h.html">iblock.h</a></div><div class="ttdoc">All MDF blocks inherits from the IBlock class. The interface class is used internally in lists....</div></div>
<div class="ttc" id="aichannelarray_8h_html"><div class="ttname"><a href="ichannelarray_8h.html">ichannelarray.h</a></div><div class="ttdoc">Defines a channel array (CA) block.</div></div>
<div class="ttc" id="aichannelconversion_8h_html"><div class="ttname"><a href="ichannelconversion_8h.html">ichannelconversion.h</a></div><div class="ttdoc">Defines a channel conversion (CC) block.</div></div>
<div class="ttc" id="aimetadata_8h_html"><div class="ttname"><a href="imetadata_8h.html">imetadata.h</a></div></div>
<div class="ttc" id="aisourceinformation_8h_html"><div class="ttname"><a href="isourceinformation_8h.html">isourceinformation.h</a></div><div class="ttdoc">Interface against a source information (SI) block.</div></div>
<div class="ttc" id="amdfhelper_8h_html"><div class="ttname"><a href="mdfhelper_8h.html">mdfhelper.h</a></div><div class="ttdoc">Support class for the MDF library.</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_a2229d5f709947d48ade04c3fb3a30443"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#a2229d5f709947d48ade04c3fb3a30443">mdf::CnFlag::LimitValid</a></div><div class="ttdeci">constexpr uint32_t LimitValid</div><div class="ttdoc">Limit is used.</div><div class="ttdef"><b>Definition</b> ichannel.h:110</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_a27498280cbf0da30278e17e8297e8e59"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#a27498280cbf0da30278e17e8297e8e59">mdf::CnFlag::Discrete</a></div><div class="ttdeci">constexpr uint32_t Discrete</div><div class="ttdoc">Discrete channel.</div><div class="ttdef"><b>Definition</b> ichannel.h:112</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_a3e112ccb91a24f8348b4220efe90b5d1"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#a3e112ccb91a24f8348b4220efe90b5d1">mdf::CnFlag::BusEvent</a></div><div class="ttdeci">constexpr uint32_t BusEvent</div><div class="ttdoc">Bus event channel.</div><div class="ttdef"><b>Definition</b> ichannel.h:116</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_a421884542b660958e3c8a2e773768d29"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#a421884542b660958e3c8a2e773768d29">mdf::CnFlag::PrecisionValid</a></div><div class="ttdeci">constexpr uint32_t PrecisionValid</div><div class="ttdoc">Precision is used.</div><div class="ttdef"><b>Definition</b> ichannel.h:108</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_a476a0611c7c5c3d141801980aff85221"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#a476a0611c7c5c3d141801980aff85221">mdf::CnFlag::Calibration</a></div><div class="ttdeci">constexpr uint32_t Calibration</div><div class="ttdoc">Calibrated channel.</div><div class="ttdef"><b>Definition</b> ichannel.h:113</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_a5766a23a1f3c4bcf0eaeba492a7e7b2b"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#a5766a23a1f3c4bcf0eaeba492a7e7b2b">mdf::CnFlag::StrictlyMonotonous</a></div><div class="ttdeci">constexpr uint32_t StrictlyMonotonous</div><div class="ttdoc">Strict monotonously.</div><div class="ttdef"><b>Definition</b> ichannel.h:117</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_a6f1384f74040b449cb428b24a03e341a"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#a6f1384f74040b449cb428b24a03e341a">mdf::CnFlag::Virtual</a></div><div class="ttdeci">constexpr uint32_t Virtual</div><div class="ttdoc">Virtual channel.</div><div class="ttdef"><b>Definition</b> ichannel.h:115</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_a9c121c8a80f9e541ec0a5de48f31be22"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#a9c121c8a80f9e541ec0a5de48f31be22">mdf::CnFlag::Calculated</a></div><div class="ttdeci">constexpr uint32_t Calculated</div><div class="ttdoc">Calculated channel.</div><div class="ttdef"><b>Definition</b> ichannel.h:114</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_aa8081ae9b218a569334595a40fa51e3c"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#aa8081ae9b218a569334595a40fa51e3c">mdf::CnFlag::DefaultX</a></div><div class="ttdeci">constexpr uint32_t DefaultX</div><div class="ttdoc">Default x-axis channel.</div><div class="ttdef"><b>Definition</b> ichannel.h:118</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_aaa0966dc35ade7f95a6e4fcd279ee0ca"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#aaa0966dc35ade7f95a6e4fcd279ee0ca">mdf::CnFlag::VlsdDataStream</a></div><div class="ttdeci">constexpr uint32_t VlsdDataStream</div><div class="ttdoc">VLSD data stream channel.</div><div class="ttdef"><b>Definition</b> ichannel.h:120</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_ab9b91e121dc26872a9d2607c63272949"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#ab9b91e121dc26872a9d2607c63272949">mdf::CnFlag::ExtendedLimitValid</a></div><div class="ttdeci">constexpr uint32_t ExtendedLimitValid</div><div class="ttdoc">Extended limit is used.</div><div class="ttdef"><b>Definition</b> ichannel.h:111</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_ac40b03e1dd5cd6f5b72ca92ca4bbdc83"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#ac40b03e1dd5cd6f5b72ca92ca4bbdc83">mdf::CnFlag::RangeValid</a></div><div class="ttdeci">constexpr uint32_t RangeValid</div><div class="ttdoc">Range is used.</div><div class="ttdef"><b>Definition</b> ichannel.h:109</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_acf64527d27cd2ac92ba68e3a20d2dabb"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#acf64527d27cd2ac92ba68e3a20d2dabb">mdf::CnFlag::AllValuesInvalid</a></div><div class="ttdeci">constexpr uint32_t AllValuesInvalid</div><div class="ttdoc">All values are invalid.</div><div class="ttdef"><b>Definition</b> ichannel.h:106</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_adfea72260e33c3932f755773b308ceb8"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#adfea72260e33c3932f755773b308ceb8">mdf::CnFlag::InvalidValid</a></div><div class="ttdeci">constexpr uint32_t InvalidValid</div><div class="ttdoc">Invalid bit is used.</div><div class="ttdef"><b>Definition</b> ichannel.h:107</div></div>
<div class="ttc" id="anamespacemdf_1_1_cn_flag_html_ae027244b0d6d32508e40c70d07627746"><div class="ttname"><a href="namespacemdf_1_1_cn_flag.html#ae027244b0d6d32508e40c70d07627746">mdf::CnFlag::EventSignal</a></div><div class="ttdeci">constexpr uint32_t EventSignal</div><div class="ttdoc">Event signal.</div><div class="ttdef"><b>Definition</b> ichannel.h:119</div></div>
<div class="ttc" id="anamespacemdf_html"><div class="ttname"><a href="namespacemdf.html">mdf</a></div><div class="ttdoc">Main namespace for the MDF library.</div><div class="ttdef"><b>Definition</b> canmessage.h:17</div></div>
<div class="ttc" id="anamespacemdf_html_a3b0b6ca099e0f57ab319de3223cc008c"><div class="ttname"><a href="namespacemdf.html#a3b0b6ca099e0f57ab319de3223cc008c">mdf::ByteArray</a></div><div class="ttdeci">std::vector&lt; uint8_t &gt; ByteArray</div><div class="ttdoc">Defines a dynamic byte array.</div><div class="ttdef"><b>Definition</b> zlibutil.h:17</div></div>
<div class="ttc" id="anamespacemdf_html_a97db9dc7397318bc42aa8ba07f1880df"><div class="ttname"><a href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880df">mdf::ChannelSyncType</a></div><div class="ttdeci">ChannelSyncType</div><div class="ttdoc">Synchronization type.</div><div class="ttdef"><b>Definition</b> ichannel.h:66</div></div>
<div class="ttc" id="anamespacemdf_html_a97db9dc7397318bc42aa8ba07f1880dfa0aa6f4210bf373c95eda00232e93cd98"><div class="ttname"><a href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880dfa0aa6f4210bf373c95eda00232e93cd98">mdf::ChannelSyncType::Distance</a></div><div class="ttdeci">@ Distance</div><div class="ttdoc">Distance type.</div></div>
<div class="ttc" id="anamespacemdf_html_a97db9dc7397318bc42aa8ba07f1880dfa45f4ce6c3306644b1efe333f4f8d6929"><div class="ttname"><a href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880dfa45f4ce6c3306644b1efe333f4f8d6929">mdf::ChannelSyncType::Angle</a></div><div class="ttdeci">@ Angle</div><div class="ttdoc">Angle type.</div></div>
<div class="ttc" id="anamespacemdf_html_a97db9dc7397318bc42aa8ba07f1880dfa6adf97f83acf6453d4a6a4b1070f3754"><div class="ttname"><a href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880dfa6adf97f83acf6453d4a6a4b1070f3754">mdf::ChannelSyncType::None</a></div><div class="ttdeci">@ None</div><div class="ttdoc">No synchronization (default value)</div></div>
<div class="ttc" id="anamespacemdf_html_a97db9dc7397318bc42aa8ba07f1880dfa88fa71f0a6e0dfedbb46d91cc0b37a50"><div class="ttname"><a href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880dfa88fa71f0a6e0dfedbb46d91cc0b37a50">mdf::ChannelSyncType::Index</a></div><div class="ttdeci">@ Index</div><div class="ttdoc">Sample number.</div></div>
<div class="ttc" id="anamespacemdf_html_a97db9dc7397318bc42aa8ba07f1880dfaa76d4ef5f3f6a672bbfab2865563e530"><div class="ttname"><a href="namespacemdf.html#a97db9dc7397318bc42aa8ba07f1880dfaa76d4ef5f3f6a672bbfab2865563e530">mdf::ChannelSyncType::Time</a></div><div class="ttdeci">@ Time</div><div class="ttdoc">Time type.</div></div>
<div class="ttc" id="anamespacemdf_html_aa69a00bf9910fb428ebe4a3d63e6ed89acfac125f526b65725b6ba6f353f2ffda"><div class="ttname"><a href="namespacemdf.html#aa69a00bf9910fb428ebe4a3d63e6ed89acfac125f526b65725b6ba6f353f2ffda">mdf::ConversionType::ValueRangeToValue</a></div><div class="ttdeci">@ ValueRangeToValue</div><div class="ttdoc">Value range to value conversion without interpolation. Defined by a list of Key min/max value triplet...</div></div>
<div class="ttc" id="anamespacemdf_html_aada23089f38b2f9a6a017ec2b1ec937d"><div class="ttname"><a href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937d">mdf::ChannelType</a></div><div class="ttdeci">ChannelType</div><div class="ttdoc">Channel functional type.</div><div class="ttdef"><b>Definition</b> ichannel.h:51</div></div>
<div class="ttc" id="anamespacemdf_html_aada23089f38b2f9a6a017ec2b1ec937da309ed161ec249f7ffdbac36b65e55b75"><div class="ttname"><a href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937da309ed161ec249f7ffdbac36b65e55b75">mdf::ChannelType::VirtualMaster</a></div><div class="ttdeci">@ VirtualMaster</div><div class="ttdoc">Virtual master channel.</div></div>
<div class="ttc" id="anamespacemdf_html_aada23089f38b2f9a6a017ec2b1ec937da4b1ddaa2b496677284d5262fc1ea3798"><div class="ttname"><a href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937da4b1ddaa2b496677284d5262fc1ea3798">mdf::ChannelType::FixedLength</a></div><div class="ttdeci">@ FixedLength</div><div class="ttdoc">Fixed length data (default type)</div></div>
<div class="ttc" id="anamespacemdf_html_aada23089f38b2f9a6a017ec2b1ec937dab39e25cc980a4343b6d3c5dc3de432fa"><div class="ttname"><a href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937dab39e25cc980a4343b6d3c5dc3de432fa">mdf::ChannelType::MaxLength</a></div><div class="ttdeci">@ MaxLength</div><div class="ttdoc">Max length channel.</div></div>
<div class="ttc" id="anamespacemdf_html_aada23089f38b2f9a6a017ec2b1ec937dabec26578f09660b1b47ec535f0c47c75"><div class="ttname"><a href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937dabec26578f09660b1b47ec535f0c47c75">mdf::ChannelType::VirtualData</a></div><div class="ttdeci">@ VirtualData</div><div class="ttdoc">Virtual data channel.</div></div>
<div class="ttc" id="anamespacemdf_html_aada23089f38b2f9a6a017ec2b1ec937dacf5e4bc4a94b24088e16c9c3afd40a2a"><div class="ttname"><a href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937dacf5e4bc4a94b24088e16c9c3afd40a2a">mdf::ChannelType::VariableLength</a></div><div class="ttdeci">@ VariableLength</div><div class="ttdoc">Variable length data.</div></div>
<div class="ttc" id="anamespacemdf_html_aada23089f38b2f9a6a017ec2b1ec937dad8e87c0927539672f54462c837be0b7f"><div class="ttname"><a href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937dad8e87c0927539672f54462c837be0b7f">mdf::ChannelType::Sync</a></div><div class="ttdeci">@ Sync</div><div class="ttdoc">Synchronize channel.</div></div>
<div class="ttc" id="anamespacemdf_html_aada23089f38b2f9a6a017ec2b1ec937daf03bde11d261f185cbacfa32c1c6538c"><div class="ttname"><a href="namespacemdf.html#aada23089f38b2f9a6a017ec2b1ec937daf03bde11d261f185cbacfa32c1c6538c">mdf::ChannelType::Master</a></div><div class="ttdeci">@ Master</div><div class="ttdoc">Master channel.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722">mdf::ChannelDataType</a></div><div class="ttdeci">ChannelDataType</div><div class="ttdoc">Channel data type.</div><div class="ttdef"><b>Definition</b> ichannel.h:82</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722a21e5fa7038abacaa3a18253de43fe451"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a21e5fa7038abacaa3a18253de43fe451">mdf::ChannelDataType::StringUTF16Le</a></div><div class="ttdeci">@ StringUTF16Le</div><div class="ttdoc">Text, UTF16 coded little endian.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722a270eae1795a15432ab07a1b2f9bf7bb5"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a270eae1795a15432ab07a1b2f9bf7bb5">mdf::ChannelDataType::StringUTF8</a></div><div class="ttdeci">@ StringUTF8</div><div class="ttdoc">Text, UTF8 coded.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722a29d83f0080e24c1f4b3975dc9ff9e868"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a29d83f0080e24c1f4b3975dc9ff9e868">mdf::ChannelDataType::ByteArray</a></div><div class="ttdeci">@ ByteArray</div><div class="ttdoc">Byte array.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722a2f9b4e22520900077df8d4a52ff9a6d4"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a2f9b4e22520900077df8d4a52ff9a6d4">mdf::ChannelDataType::CanOpenDate</a></div><div class="ttdeci">@ CanOpenDate</div><div class="ttdoc">7-byte CANOpen date.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722a38f0dc27477a45b9c3b92a8527ec627b"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a38f0dc27477a45b9c3b92a8527ec627b">mdf::ChannelDataType::SignedIntegerBe</a></div><div class="ttdeci">@ SignedIntegerBe</div><div class="ttdoc">Signed integer, big endian.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722a3d8c5b0c84d3c13c685749338d96e812"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a3d8c5b0c84d3c13c685749338d96e812">mdf::ChannelDataType::UnsignedIntegerLe</a></div><div class="ttdeci">@ UnsignedIntegerLe</div><div class="ttdoc">Unsigned integer, little endian.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722a3f32de61be852939714b416ba16438ca"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a3f32de61be852939714b416ba16438ca">mdf::ChannelDataType::ComplexBe</a></div><div class="ttdeci">@ ComplexBe</div><div class="ttdoc">Complex value, big endian.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722a668c2004661c1b7f1d6ecc1e4b4f105b"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a668c2004661c1b7f1d6ecc1e4b4f105b">mdf::ChannelDataType::StringUTF16Be</a></div><div class="ttdeci">@ StringUTF16Be</div><div class="ttdoc">Text, UTF16 coded big endian.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722a6835157213e98f65d7b8b87388f17cba"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a6835157213e98f65d7b8b87388f17cba">mdf::ChannelDataType::FloatLe</a></div><div class="ttdeci">@ FloatLe</div><div class="ttdoc">Float, little endian.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722a70070b65143948de357e447c813e44ba"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722a70070b65143948de357e447c813e44ba">mdf::ChannelDataType::MimeSample</a></div><div class="ttdeci">@ MimeSample</div><div class="ttdoc">MIME sample byte array.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722aa2f1cba0bbfc632c18c8600557e5ef82"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722aa2f1cba0bbfc632c18c8600557e5ef82">mdf::ChannelDataType::StringAscii</a></div><div class="ttdeci">@ StringAscii</div><div class="ttdoc">Text, ISO-8859-1 coded.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722aa5e26fec45b1179c4338c4db60c840b3"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722aa5e26fec45b1179c4338c4db60c840b3">mdf::ChannelDataType::FloatBe</a></div><div class="ttdeci">@ FloatBe</div><div class="ttdoc">Float, big endian.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722ab9f962c0e1fc6cd005dfa84b8b082758"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722ab9f962c0e1fc6cd005dfa84b8b082758">mdf::ChannelDataType::SignedIntegerLe</a></div><div class="ttdeci">@ SignedIntegerLe</div><div class="ttdoc">Signed integer, little endian.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722ac6ca32aae0ba32d5029fdbef0885e88e"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722ac6ca32aae0ba32d5029fdbef0885e88e">mdf::ChannelDataType::ComplexLe</a></div><div class="ttdeci">@ ComplexLe</div><div class="ttdoc">Complex value, little endian.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722acbda3fa2f982691bd851286c23406378"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722acbda3fa2f982691bd851286c23406378">mdf::ChannelDataType::CanOpenTime</a></div><div class="ttdeci">@ CanOpenTime</div><div class="ttdoc">6-byte CANOpen time.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722ae6543ba35c9cd740a7c91e07be9e231c"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722ae6543ba35c9cd740a7c91e07be9e231c">mdf::ChannelDataType::UnsignedIntegerBe</a></div><div class="ttdeci">@ UnsignedIntegerBe</div><div class="ttdoc">Unsigned integer, big endian.</div></div>
<div class="ttc" id="anamespacemdf_html_ae7ad63cc2b6ab8756d7149ae96453722af51576cc6cfc1e6abb5be79f24cf39a0"><div class="ttname"><a href="namespacemdf.html#ae7ad63cc2b6ab8756d7149ae96453722af51576cc6cfc1e6abb5be79f24cf39a0">mdf::ChannelDataType::MimeStream</a></div><div class="ttdeci">@ MimeStream</div><div class="ttdoc">MIME stream byte array.</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
